package iosu.java.games.razer.api.protocol;


import java.io.IOException;

import javax.management.InvalidApplicationException;

public interface RazerProtocol {



	/**
	 * este metodo envia el RazerProtocolMessage Dado que no recibe la
	 * SelectionKey este metodo solo es usable en modo cliente
	 * 
	 * @param msg
	 *            es el mensaje a enviar
	 */
	public abstract void send(RazerProtocolMessage msg)
			throws InvalidApplicationException, IOException;

	/**
	 * este metodo escucha en el socket la recepcion del mensaje desde el
	 * servidor y lo traduce a un RazerProtocolMessage
	 * 
	 * @return RazerProtocolMessage
	 */
	public abstract RazerProtocolMessage receive();
	
	
	

}